package com.ruoyi.excelutils.service;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.excelutils.entity.po.TtlProductInfoPo;
import com.ruoyi.excelutils.entity.vo.HqNetworkBillDetailExportPageSizeVo;
import com.ruoyi.hqfinance.domain.vo.HqNetworkBillPointVo;
import com.ruoyi.statisticalCenter.domain.vo.*;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * @author kundy
 * @create 2019/2/16 11:22 AM
 */
public interface TtlProductInfoService {

    List<TtlProductInfoPo> listProduct(Map<String, Object> map);
    List<TtlProductInfoPo> list(Map<String, Object> map, HqNetworkBillDetailExportPageSizeVo vo);
    List<TtlProductInfoPo> scOutList(Map<String, Object> map, HqNetworkBillPointVo vo);
    List<TtlProductInfoPo> scPaiGrossProfitSheetList(Map<String, Object> map, ScEnterPaiGrossProfitSheetPointVo vo);
    List<TtlProductInfoPo> scQualityList(Map<String, Object> map, ScQualityControlFeeSheetPointVo vo);
    List<TtlProductInfoPo> scIncomeAndExpendList(Map<String, Object> map, ScHqIncomeAndExpendCollectPointVo vo);
    List<TtlProductInfoPo> scOutPortWarehouseList(Map<String, Object> map, ScOutPortWarehouseGrossProfitSheetPointVo vo);
    List<TtlProductInfoPo> scWeightFlowList(Map<String, Object> map, ScWeightFlowDirectionDispositionPointVo vo);
    List<TtlProductInfoPo> scOutReturnList(Map<String, Object> map, ScOutReturnSheetPointVo vo);

    void export(HttpServletResponse response, String fileName);

    void list(HttpServletResponse response, String s, HqNetworkBillDetailExportPageSizeVo vo);
    void scOutExport(HttpServletResponse response, String s, HqNetworkBillPointVo vo);
    void scPaiGrossProfitSheetExport(HttpServletResponse response, String s, ScEnterPaiGrossProfitSheetPointVo vo);
    void scQualityExport(HttpServletResponse response, String s, ScQualityControlFeeSheetPointVo vo);
    void scIncomeAndExpendExport(HttpServletResponse response, String s, ScHqIncomeAndExpendCollectPointVo vo);
    void scOutPortWarehouseExport(HttpServletResponse response, String s, ScOutPortWarehouseGrossProfitSheetPointVo vo);
    void scWeightFlowExport(HttpServletResponse response, String s, ScWeightFlowDirectionDispositionPointVo vo);
    void scOutReturnExport(HttpServletResponse response, String s, ScOutReturnSheetPointVo vo);

    R exportDetailAsync(ScHqIncomeAndExpendCollectPointVo vo);

    R scOutExportAsync(HqNetworkBillPointVo vo);

    R scQualityExportAsync(ScQualityControlFeeSheetPointVo vo);

    R scWeightFlowExportAsync(ScWeightFlowDirectionDispositionPointVo vo);

    R scPaiGrossProfitSheetExportAsync(ScEnterPaiGrossProfitSheetPointVo vo);

    R scOutReturnExportAsync(ScOutReturnSheetPointVo vo);

    R scOutPortWarehouseExportAsync(ScOutPortWarehouseGrossProfitSheetPointVo vo);
}
